Packagesora.graybox.synth
Classpublic final class SynthesizerWT
InheritanceSynthesizerWT Inheritance MultiTimberSynthBase Inheritance Object

ウェーブテーブルシンセサイザーのGrayBoxモジュール.

このシンセサイザーの仕様について
    
=== WTシンセサイザーの仕様 ===
[発音方式]
  ・ウェーブテーブル方式
  ・疑似乱数(LFSR)ノイズジェネレーター
  ・PCMウェーブテーブル方式(サンプラー)
[ボイスパート数]
  ・16 パート(MIDIチャンネル)
[同時発音数]
  ・1 ~ 1024 ポリフォニック
[オーディオ出力]
  ・2 チャンネル(L,R)
[音色プリセット数]
  ・インストゥルメントプリセット(プログラムチェンジ・マップ) 128
  ・インストゥルメントプリセット(ドラム・マップ) 128
  ・サンプラープリセット(ドラム・マップ) 128
[システムエクスクルーシブ]
  ・対応 (デフォルトでは無効)(有効、無効の切り替え可能)
[RPN,NRPN]
  ・対応 (NRPはデフォルトでは無効)(NRPは有効、無効の切り替え可能)
==============================

[発音方式について]
・ウェーブテーブル方式
  波形テーブル数 : 128
  波形テーブルサイズ : 8 ~ 128 
                       (内部では常に128サイズで保持)
  波形値の諧調 : 2 ~ 256 
  
・疑似乱数(15bit LFSR)ノイズジェネレーター
  32768周期の疑似乱数ノイズ
  
・PCMウェーブテーブル方式(サンプラー)
  サンプルデータ数 : 128
  ステレオ対応

これらの音源は下記の条件で切り替えができます。

  ウェーブテーブル     -> ボイスパートがインストゥルメントモード、
                          またはパーカッションモードで、
                          音色プリセットのstrc値が"0~2"のとき。
                          
  ノイズジェネレーター -> ボイスパートがインストゥルメントモード、
                          またはパーカッションモードで、
                          音色プリセットのstrc値が"3"のとき。
                          
  サンプラー           -> ボイスパートがサンプラーモードのとき。

[ボイスパートのモードについて]
・モード0 (ミュート)
  発音は行われませんが、ピッチベンドチェンジなどのコントロールは受け付けます。

・モード1 (インストゥルメントモード)
  波形テーブル、ノイズジェネレーターによる発音。
  プログラムチェンジ[0~127]に、音色のプリセットナンバー[0~127]が割り当てされる。
  (tonePresets[0~127]がプログラムチェンジ[0~127]に割当)

・モード2 (パーカッションモード)
  波形テーブル、ノイズジェネレーターによる発音。
  ノートナンバー[0~127]に、音色のプリセットナンバー[128~255]が割り当てされる。
  (tonePresets[128~255]がノートナンバー[0~127]に割当)
  
・モード3 (サンプラーモード)
  PCMサンプラーによる発音。1サンプル1音色。
  ノートナンバー[0~127]に、サンプラー音色のプリセットナンバー[0~127]が割り当てされる。
  (samplerPresets[0~127]がノートナンバー[0~127]に割当)
  
モード変更は、.setPartMode()メソッドを使用する方法と、
プログラム実行中にMIDIメッセージ(NRPN、SysEx)を受信して変更する方法があります。

================================================================================
  
[RPN]
MSB LSB : parameter             : DataEntry
 00  00 : PitchBend Sensitivity : 0 - 127

[NRPN]
MSB LSB : parameter             : DataEntry
 00  00 : Master Volume         : 0 - 127
 20  00 : Default Part Mode     : 0 - 3
                                  (0 = Mute, 1 = Instrument, 2 = Percussion, 3 = Sampler)
 21  00 : Part Mode             : 0 - 3
                                  (0 = Mute, 1 = Instrument, 2 = Percussion, 3 = Sampler)

[システム・エクスクルーシブ・メッセージ]

F0h     : SysEx Status
7Dh     : Manufacture ID ()
10h     : Device ID [ Constant 10h ]
20h     : Model ID [ SynthesizerWT ]
Address : Data Offset Address (Start Address)
...     : data
F7h     : EOX(End Of Exclusive)

)マニュファクチャーIDに"7Dh"(ユニバーサルメッセージ)を使用しています。
般のMIDIファイルを読み込ませるような用途に使われる場合は競合にご注意ください。

[アドレスマップ]

[00 00 00] ~ [00 7F 7F] : システムコモンパラメーター
[01 00 00] ~ [01 7F 7F] : (予約領域)
[02 00 00] ~ [02 7F 7F] : ボイスパートパラメーター
[03 00 00] ~ [03 7F 7F] : (予約領域)
[04 00 00] ~ [04 7F 7F] : 音色プリセットテーブルパラメーター[0~127]
[05 00 00] ~ [05 7F 7F] : 音色プリセットテーブルパラメーター[128~255]
[06 00 00] ~ [06 7F 7F] : サンプラー音色プリセットテーブルパラメーター[0~127]
[07 00 00] ~ [07 7F 7F] : (予約領域)
[08 00 00] ~ [08 7F 7F] : 波形テーブル値
[09 00 00] ~ [3F 7F 7F] : (予約領域)

[ スタートアドレス[00] ]
Address : parameter           : value
00 00   : Master Volume       : 0 - 127
00 01   : Key Reference Pitch : 0 - 127 (-64 ~ 0 ~ 63)
                              : Pitch = 440.0 + value 0.5

[ スタートアドレス[02] ]
  n : パートナンバー
  
Address : parameter         : value
0n 00   : Default Part Mode : 0 - 3 
                              (0 = Mute, 1 = Instrument, 2 = Percussion, 3 = Sampler)
0n 01   : Part Mode         : 0 - 3
                              (0 = Mute, 1 = Instrument, 2 = Percussion, 3 = Sampler)

[ スタートアドレス[04] ]
  xx : プリセットナンバー(プログラムチェンジ対応) [0 - 7F]

Address : parameter       : value
xx 00   : Preset Name     : ASCII CODE
 ~ 0F   : 
xx 10   : key             : 0 - 127
xx 11   : pan             : 0 - 127
xx 12   : lfoFreq (LSB)   : 0 - 127
xx 13   : lfoFreq (MSB)   : 0 - 127
xx 14   : strc            : 0 - 3
xx 15   : tune (LSB)      : 0 - 127
xx 16   : tune (MSB)      : 0 - 127
xx 17   : lms             : 0 - 15
xx 18   : wave            : 0 - 127
xx 19   : tl              : 0 - 127
xx 1A   : ar              : 0 - 127
xx 1B   : dr              : 0 - 127
xx 1C   : sl              : 0 - 127
xx 1D   : rr              : 0 - 127
xx 1E   : kf              : 0 - 3
xx 1F   : kfStart         : 0 - 127


[ スタートアドレス [05] ]
  xx : プリセットナンバー(ノートナンバー対応) [0 - 7F]
  
Address : parameter       : value
------------- 同上 -------------
  
[ スタートアドレス[06] ]
  xx : プリセットナンバー(ノートナンバー対応) [0 - 7F]
  
Address : parameter       : value
xx 00   : Preset Name     : ASCII CODE
 ~ 0F   : 
xx 10   : smplNum         : 0 - 127
xx 11   : pan             : 0 - 127
xx 12   : octv            : 0 - 15
xx 13   : tune (LSB)      : 0 - 127
xx 14   : tune (MSB)      : 0 - 127
xx 15   : tl              : 0 - 127
xx 16   : ar              : 0 - 127
xx 17   : dr              : 0 - 127
xx 18   : sl              : 0 - 127
xx 19   : rr              : 0 - 127

[ スタートアドレス[08] ]
  xx : 波形テーブルナンバー [0 - 7F]

xx 00   : Phase 0         : 0 - 127 (-64 ~ 0 ~ 63)
 ~ 7F   : Phase 127         7bitの波形値として読込

================================================================================
[MIDI インプリメンテーション・チャート]
Model : GrayBox Synthesizer WT (SynthesizerWT Class Object)
date : 2022.08.23
Version : 22.8.0
Function                    Transmitted         Recognized      Remarks
--------------------------------------------------------------------------------
Basic       Default         X                   1-16
Chanel      Changed         X                   X
--------------------------------------------------------------------------------
Mode        Default         X                   Mode 3
            Messages        X                   Mode 3
            Altered                X
--------------------------------------------------------------------------------
Note                        X                   0-127
Number      True Voice             0-127
--------------------------------------------------------------------------------
Veclocity   Note On         X                   0-127
            Note OFF        X                   X
--------------------------------------------------------------------------------
After       Key’s           X                   X
touch       Channel         X                   X
--------------------------------------------------------------------------------
Pitch Bend                  X                   O
--------------------------------------------------------------------------------
Control     1               X                   O           Modulation
Change      6,38            X                   O           Data Entry (MSB,LSB)
            7               X                   O           Volume
            10              X                   O           Panpot
            11              X                   O           Expression
            96,97           X                   O           Data Inc,Dec
            98,99           X                   O         NRPN (LSB,MSB)
            100,101         X                   O         RPN  (LSB,MSB)
--------------------------------------------------------------------------------
Program                     X                   O
Change      Variable Range         0-127       TonePreset[0 - 127] (Part Mode 1)
--------------------------------------------------------------------------------
System Exclusive            X                   O 
--------------------------------------------------------------------------------
System      Song Position   X                   X
Common      Song Select     X                   X
            Tune Request    X                   X
--------------------------------------------------------------------------------
System      Clock           X                   X
RealTime    Commands        X                   X
--------------------------------------------------------------------------------
Aux         All Sound Off   X                   O (120)
Messages    Reset All-      X                   O
            -Controllers
            Local On/Off    X                   X
            All Notes Off   X                   O (123)
            Active Sensing  X                   X
            System Reset    X                   X
--------------------------------------------------------------------------------
Notes       ) Switchable O,X

--------------------------------------------------------------------------------
Mode 1: OMNI ON,  POLY   Mode 2: OMNI ON,  MONO       O : Yes
Mode 3: OMNI OFF, POLY   Mode 4: OMNI OFF, MONO       X : No
================================================================================

See also

sora.graybox.synth.MultiTimberSynthBase
sora.graybox.synth.VoicePart
sora.graybox.synth.TonePresetWT
sora.graybox.synth.SamplerPreset
sora.graybox.synth.SampleData


Public Properties
 PropertyDefined By
 InheritedmidiInPorts : int = 0xFFFF
MIDIメッセージの入力対象ポートを示すビットフラグ(16bit)です.
MultiTimberSynthBase
 InheritedmidiOutPorts : int = 0xFFFF
MIDIメッセージの送信対象ポートを示すビットフラグ(16bit)です.
MultiTimberSynthBase
 InheritedreceiveSysEx : Boolean = false
システムエクスクルーシブメッセージを受け取るかを示すフラグ.
MultiTimberSynthBase
  samplerPresets : Vector.<SamplerPreset> = null
サンプラーの音色プリセットテーブルです.
SynthesizerWT
  tonePresets : Vector.<TonePresetWT> = null
インストゥルメントの音色プリセットテーブルです.
SynthesizerWT
 InheritedvoiceParts : Vector.<VoicePart> = null
ボイスパート(MIDIチャンネルパラメーター).
MultiTimberSynthBase
Protected Properties
 PropertyDefined By
 Inherited_evBuff : MidiEvent
MultiTimberSynthBase
 Inherited_masterVolume : Number = 1.0
MultiTimberSynthBase
 Inherited_masterVolumeTable : Vector.<Number> = null
MultiTimberSynthBase
 Inherited_maxPMN : int = 0
MultiTimberSynthBase
 Inherited_maxPolyphony : int = 0
MultiTimberSynthBase
 Inherited_nrpnCtrlFlag : Boolean = false
MultiTimberSynthBase
 Inherited_nton : int = 0
MultiTimberSynthBase
 Inherited_ntonM : int = 0
MultiTimberSynthBase
 Inherited_referencePitch : Number = 440.0
MultiTimberSynthBase
 Inherited_rpnCtrlFlag : Boolean = true
MultiTimberSynthBase
 Inherited_sampleRate : Number = 44100.0
MultiTimberSynthBase
 Inherited_voiceUnits : Vector.<VoiceUnitBase> = null
MultiTimberSynthBase
Public Methods
 MethodDefined By
  
SynthesizerWT(tblSize:int = 32, maxPoly:int = 32, refPitch:Number = 440.0, masVol:Number = 1.0, privateTableData:Boolean = true)
SynthesizerWTオブジェクトを構築します.
SynthesizerWT
 Inherited
allPartReset(modeReset:Boolean = false):void
すべてのボイスパートのパラメーターをリセットします.
MultiTimberSynthBase
 Inherited
allSoundOff(part:int = -1):void
発音中のすべてのサウンドを停止します。 コントロールチェンジ120のオールサウンドオフと同等の機能です.
MultiTimberSynthBase
 Inherited
allSoundStop(part:int = -1):void
発音中のすべてのサウンドを即時停止します。 この操作によってプチノイズが入る可能性があります.
MultiTimberSynthBase
 Inherited
channelAfterTouch(ch:int, val:int):void
チャンネルアフタータッチメッセージを入力します.
MultiTimberSynthBase
  
clearSampleData(id:int):void
サンプラー用サンプルデータをクリアします.
SynthesizerWT
 Inherited
このメソッドはGrayBox.attachModule()メソッドで ホストにモジュールが正常に接続されたとき呼ばれます.
MultiTimberSynthBase
 Inherited
controleChange(ch:int, cc:int, val:int):void
コントロールチェンジメッセージを入力します.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.detachModule()他、 いくつかのメソッドでモジュールがホストから接続解除されたとき呼ばれます.
MultiTimberSynthBase
  
[override] 波形データ、音色プリセット、サンプルデータをクリアします.
SynthesizerWT
 Inherited
getDefaultPartMode(part:int):int
ボイスパートの、モードの既定値を取得します.
MultiTimberSynthBase
 Inherited
マスターボリュームの値を取得します.
MultiTimberSynthBase
 Inherited
最大発音ボイス数を取得します.
MultiTimberSynthBase
 Inherited
getNRPNCtrlFlag():Boolean
NRPNを使ったコントロールのフラグ値を取得します.
MultiTimberSynthBase
 Inherited
getPartMode(part:int):int
ボイスパートのモードの値を取得します.
MultiTimberSynthBase
 Inherited
発音中のボイス数を取得します.
MultiTimberSynthBase
 Inherited
音程の基準ピッチの値を取得します.
MultiTimberSynthBase
 Inherited
getRPNCtrlFlag():Boolean
RPNを使ったコントロールのフラグ値を取得します.
MultiTimberSynthBase
  
サンプラー用サンプルデータを取得します.
SynthesizerWT
 Inherited
getSampleRate():Number
サンプリングレートの値を取得します.
MultiTimberSynthBase
  
getWaveForm(id:int, buffer:Vector.<int>, bitDepth:int):void
波形テーブルから波形値を読み取り、バッファへ書き込みます(最大128).
SynthesizerWT
  
getWaveFormN(id:int, buffer:Vector.<Number>):void
波形テーブルから波形値を読み取り、バッファへ書き込みます(最大128).
SynthesizerWT
  
波形テーブルのサイズを取得します.
SynthesizerWT
  
getWaveTableValue(id:int, index:int, bitDepth:int):int
波形テーブルから波形値を取得します.
SynthesizerWT
  
getWaveTableValueN(id:int, index:int):Number
波形テーブルから波形値を取得します.
SynthesizerWT
 Inherited
initialize():void
シンセサイザーを初期状態に戻します.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.initiModules()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
keyAfterTouch(ch:int, key:int, val:int):void
キーアフタータッチメッセージを入力します.
MultiTimberSynthBase
  
loadPCMData(id:int, dat:ByteArray, sampleFrames:int, ch:int, bitRate:int, sign:Boolean, bigEndian:Boolean):void
バイナリのPCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.
SynthesizerWT
  
loadPCMSamples(id:int, wave:Vector.<Number>, ch:int):void
PCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.
SynthesizerWT
 Inherited
noteOff(ch:int, key:int):void
ノートオフメッセージを入力します.
MultiTimberSynthBase
 Inherited
noteOn(ch:int, key:int, velo:int):void
ノートオンメッセージを入力します.
MultiTimberSynthBase
 Inherited
pitchBendChange(ch:int, lsb:int, msb:int):void
ピッチベンドメッセージを入力します.
MultiTimberSynthBase
 Inherited
pitchBendChangeW(ch:int, val:int):void
ピッチベンドメッセージを入力します.
MultiTimberSynthBase
 Inherited
process(procData:ProcessData):void
このメソッドはGrayBox.process()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
programChange(ch:int, num:int):void
プログラムチェンジメッセージを入力します.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.resetModules()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.resumeProcess()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
setDefaultPartMode(part:int, mode:int):void
ボイスパートの、モードの既定値を設定します.
MultiTimberSynthBase
 Inherited
setMasterVolume(val:Number):void
マスターボリュームを設定します.
MultiTimberSynthBase
 Inherited
setMaxPolyphony(num:int):int
最大発音ボイス数を設定します.
MultiTimberSynthBase
 Inherited
setNRPNCtrlFlag(flag:Boolean):void
NRPNを使ったコントロールのフラグ値を設定します.
MultiTimberSynthBase
 Inherited
setPartMode(part:int, mode:int):void
ボイスパートのモードを設定します.
MultiTimberSynthBase
 Inherited
setReferencePitch(val:Number):void
音程の基準ピッチを設定します.
MultiTimberSynthBase
 Inherited
setRPNCtrlFlag(flag:Boolean):void
RPNを使ったコントロールのフラグ値を設定します.
MultiTimberSynthBase
  
setSampleData(id:int, sampleData:SampleData, deepCopy:Boolean = true):void
サンプラー用サンプルデータをコピーします.
SynthesizerWT
 Inherited
setSampleRate(val:Number):void
サンプリングレートを設定します.
MultiTimberSynthBase
  
setWaveForm(id:int, buffer:Vector.<int>, bitDepth:int):void
バッファから波形値を読み取り、波形テーブルへ書き込みます(最大128).
SynthesizerWT
  
setWaveFormN(id:int, buffer:Vector.<Number>, bitDepth:int = 8):void
バッファから波形値を読み取り、波形テーブルへ書き込みます(最大128).
SynthesizerWT
  
setWaveTableSize(size:int):int
波形テーブルのサイズを再設定します.
SynthesizerWT
  
setWaveTableValue(id:int, index:int, value:int, bitDepth:int):void
波形テーブルに波形値を書き込みます.
SynthesizerWT
  
setWaveTableValueN(id:int, index:int, value:Number, bitDepth:int = 8):void
波形テーブルに波形値を書き込みます.
SynthesizerWT
 Inherited
このメソッドはGrayBox.startProcess()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.stopProcess()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
このメソッドはGrayBox.suspendProcess()メソッドから呼ばれます.
MultiTimberSynthBase
 Inherited
sysExMessage(msg:ByteArray):void
システムエクスクルーシブメッセージを入力します.
MultiTimberSynthBase
 Inherited
updateAudioChannels(ch:int):void
このメソッドはGraybox.setAudioChannels()メソッドで ホストのオーディオチャンネル数が更新されたとき呼ばれます.
MultiTimberSynthBase
 Inherited
updateBypassStatus(bypass:Boolean):void
このメソッドはGrayBox.bypassProcess()メソッドで モジュールスロットのバイパスステータスが更新されたとき呼ばれます.
MultiTimberSynthBase
 Inherited
updateProcessBlockSize(size:int):void
このメソッドはGraybox.setProcessBlockSize()メソッドで ホストのプロセスブロックサイズが更新されたとき呼ばれます。
MultiTimberSynthBase
 Inherited
updateSampleRate(sampleRate:Number):void
このメソッドはGraybox.setSampleRate()メソッドで ホストのサンプリングレート値が更新されたとき呼ばれます.
MultiTimberSynthBase
Protected Methods
 MethodDefined By
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
 Inherited
MultiTimberSynthBase
  
_recreateVU(maxPoly:int):void
[override]
SynthesizerWT
  
[override]
SynthesizerWT
 Inherited
MultiTimberSynthBase
Public Constants
 ConstantDefined By
  MODEL_ID : int = 0x20
SynthesizerWT
  PG_PHASE_FP : int = 18
[static]
SynthesizerWT
  WAVET_CONT_SIZE : int
[static]
SynthesizerWT
  WAVET_CONT_SIZE_BITS : int = 7
[static]
SynthesizerWT
Protected Constants
 ConstantDefined By
 Inherited_CC_FUNC : Vector.<Function>
MultiTimberSynthBase
 Inherited_RPN_FUNC : Vector.<Function>
MultiTimberSynthBase
Property Detail
samplerPresetsproperty
public var samplerPresets:Vector.<SamplerPreset> = null

サンプラーの音色プリセットテーブルです.

ボイスパートがサンプラーモード(モード3)のとき、 プリセットナンバー[0~127]のプリセットがノートナンバーにそれぞれ割り当てられます。

tonePresetsproperty 
public var tonePresets:Vector.<TonePresetWT> = null

インストゥルメントの音色プリセットテーブルです.

ボイスパートがインストゥルメントモード(モード1)のとき、 プリセットナンバー[0~127]のプリセットがプログラムチェンジに割り当てられます。

ボイスパートがパーカッションモード(モード2)のとき、 プリセットナンバー[128~255]のプリセットがノートナンバーにそれぞれ割り当てられます。

Constructor Detail
SynthesizerWT()Constructor
public function SynthesizerWT(tblSize:int = 32, maxPoly:int = 32, refPitch:Number = 440.0, masVol:Number = 1.0, privateTableData:Boolean = true)

SynthesizerWTオブジェクトを構築します.

Parameters
tblSize:int (default = 32) — 波形テーブルサイズ[2,4,8,16,32,64,128]
 
maxPoly:int (default = 32) — 最大発音数[1,2,4,8,16,32,64,128,256,512,1024]
 
refPitch:Number (default = 440.0) — 基準ピッチ(Hz)
 
masVol:Number (default = 1.0) — マスターボリューム[0.0~1.0]
 
privateTableData:Boolean (default = true)trueでテーブルデータ(SynthDataオブジェクト)をこのオブジェクト固有で生成、保持して使用します。 falseで共有のテーブルデータを参照して使用します. 複数のシンセサイザーオブジェクトを使用する場合にテーブルデータを共有することでメモリ使用量を節約することができます。 ただしこの場合、必要が無くなった段階でSynthData.disposeInstance()を使用して解放する必要があります。

See also

Method Detail
_recreateVU()method
override protected function _recreateVU(maxPoly:int):void

Parameters

maxPoly:int

_resetKeyParams()method 
override protected function _resetKeyParams():void

clearSampleData()method 
public function clearSampleData(id:int):void

サンプラー用サンプルデータをクリアします.

Parameters

id:int

factoryDataReset()method 
override public function factoryDataReset():void

波形データ、音色プリセット、サンプルデータをクリアします.

getSampleData()method 
public function getSampleData(id:int):SampleData

サンプラー用サンプルデータを取得します.

Parameters

id:int — サンプルデータナンバー[0~127]

Returns
SampleData — SampleDataオブジェクト
getWaveForm()method 
public function getWaveForm(id:int, buffer:Vector.<int>, bitDepth:int):void

波形テーブルから波形値を読み取り、バッファへ書き込みます(最大128).

Parameters

id:int — 波形テーブルナンバー[0~127]
 
buffer:Vector.<int> — 書き込み用バッファ。書き込まれる波形値はビットデプスに依存します(ビットデプス値8の場合[0~255])
 
bitDepth:int

getWaveFormN()method 
public function getWaveFormN(id:int, buffer:Vector.<Number>):void

波形テーブルから波形値を読み取り、バッファへ書き込みます(最大128).

Parameters

id:int — 波形テーブルナンバー[0~127]
 
buffer:Vector.<Number>

getWaveTableSize()method 
public function getWaveTableSize():int

波形テーブルのサイズを取得します.

Returns
int — 波形テーブルサイズ
getWaveTableValue()method 
public function getWaveTableValue(id:int, index:int, bitDepth:int):int

波形テーブルから波形値を取得します.

Parameters

id:int — 波形テーブルナンバー[0~127]
 
index:int — 波形テーブルのインデックス値[0~127]
 
bitDepth:int — 読み込む波形値のビットデプス[1~8]

Returns
int — 波形値(ビットデプス値8の場合[0~255])
getWaveTableValueN()method 
public function getWaveTableValueN(id:int, index:int):Number

波形テーブルから波形値を取得します.

Parameters

id:int — 波形テーブルナンバー[0~127]
 
index:int — 波形テーブルのインデックス値[0~127]

Returns
Number — 波形値[-1.0~1.0]
loadPCMData()method 
public function loadPCMData(id:int, dat:ByteArray, sampleFrames:int, ch:int, bitRate:int, sign:Boolean, bigEndian:Boolean):void

バイナリのPCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.

Parameters

id:int — サンプルデータナンバー[0~127]
 
dat:ByteArray — PCM波形データ
 
sampleFrames:int — サンプルフレーム数(チャンネルあたりサンプル数)
 
ch:int — チャンネル数(1~)
 
bitRate:int — サンプルビットレート(8,16,24,32)
 
sign:Boolean — 符号あり波形値の場合true
 
bigEndian:Boolean — データのバイトオーダーがビッグエンディアンの場合true

loadPCMSamples()method 
public function loadPCMSamples(id:int, wave:Vector.<Number>, ch:int):void

PCMデータから波形を読み込み、サンプラー用サンプルデータを構築します.

Parameters

id:int — サンプルデータナンバー[0~127]
 
wave:Vector.<Number> — PCM波形データ[浮動小数点数-1.0~1.0]
 
ch:int — チャンネル数(1~)

setSampleData()method 
public function setSampleData(id:int, sampleData:SampleData, deepCopy:Boolean = true):void

サンプラー用サンプルデータをコピーします.

deepCopytrueを渡して実行すると波形データをディープコピーします。 falseを渡して実行すると波形データの参照だけ渡します。

Parameters

id:int — サンプルデータナンバー[0~127]
 
sampleData:SampleData — コピー元SampleDataオブジェクト
 
deepCopy:Boolean (default = true)

setWaveForm()method 
public function setWaveForm(id:int, buffer:Vector.<int>, bitDepth:int):void

バッファから波形値を読み取り、波形テーブルへ書き込みます(最大128).

Parameters

id:int — 波形テーブルナンバー[0~127]
 
buffer:Vector.<int> — 読み込みバッファ。波形値(ビットデプス値8の場合[0~255])
 
bitDepth:int

setWaveFormN()method 
public function setWaveFormN(id:int, buffer:Vector.<Number>, bitDepth:int = 8):void

バッファから波形値を読み取り、波形テーブルへ書き込みます(最大128).

Parameters

id:int — 波形テーブルナンバー[0~127]
 
buffer:Vector.<Number> — 読み込みバッファ。波形値([-1.0~1.0])
 
bitDepth:int (default = 8)

setWaveTableSize()method 
public function setWaveTableSize(size:int):int

波形テーブルのサイズを再設定します.

Parameters

size:int — 波形テーブルサイズ[2,4,8,16,32,64,128]

Returns
int — 設定された波形テーブルサイズ
setWaveTableValue()method 
public function setWaveTableValue(id:int, index:int, value:int, bitDepth:int):void

波形テーブルに波形値を書き込みます.

Parameters

id:int — 波形テーブルナンバー[0~127]
 
index:int — 波形テーブルのインデックス値[0~127]
 
value:int — 波形値(ビットデプス値8の場合[0~255])
 
bitDepth:int

setWaveTableValueN()method 
public function setWaveTableValueN(id:int, index:int, value:Number, bitDepth:int = 8):void

波形テーブルに波形値を書き込みます.

Parameters

id:int — 波形テーブルナンバー[0~127]
 
index:int — 波形テーブルのインデックス値[0~127]
 
value:Number — 波形値([-1.0~1.0])
 
bitDepth:int (default = 8)

Constant Detail
MODEL_IDConstant
public const MODEL_ID:int = 0x20

PG_PHASE_FPConstant 
public static const PG_PHASE_FP:int = 18

WAVET_CONT_SIZEConstant 
public static const WAVET_CONT_SIZE:int

WAVET_CONT_SIZE_BITSConstant 
public static const WAVET_CONT_SIZE_BITS:int = 7